EFSをマウントしたEC2からWindowsで書き込みまでに時間がかかる
はじめに
瀬田@大阪オフィスです。 マネージドファイルサーバサービスであるEFSはめっちゃ便利なんですが、Windowsには対応していません。それじゃあLinuxにマウントしてsambaで共有したろかい、となりますがちょっと待った!検証結果をご覧ください。
追記
以下資料の11頁で、明示的に「CIFS/SMB はサポート対象外」との記載があるため、このユースケースでの利用は不可となります。サポートも受けられないためFSxのご利用をご検討ください。
結果
最初に検証結果だけ提示します。
- EC2+samba+EFS構成でWindowsマシンからのファイル共有は接続遅延が発生する
- 書き込み処理の前に1分程度の待機時間が発生
- AWSはWindows非対応とうたっているため、FSx for Windowsの利用が推奨される
検証
動作検証
まずは動作検証です。こちらの記事を参考に構築します。
共有ができたので書き込んでみましょう。
以下の状態が1分程度続いた後、書き込み処理が始まります。どうも、書き込み前の処理で何か起きてるっぽい。
書き込み処理自体の速度は体感的には普通でしたが、ここでは速度計測はしません。
要因の切り分け
smbサーバ上でEFSへ書き込みで再現するか
問題なく書き込めました。
Linuxマシンからsmb経由したEFS書き込みで再現するか
問題なく書き込めました。
Windowsからsmb経由でEBS書き込みで再現するか
問題なく書き込めました。
推測
状況からsmbサーバ側の問題ではなくWindowsとEFS間の問題と推測されます。
詳細調査
パケットキャプチャ
GetInfo Request〜GetInfo Responseで60秒、Tree Connect Request〜Responseで30秒かかっています。
改善を試してみる
- EFSが対応しているNFS4.1では、不要なサービスであるrpcbindを無効化したが改善せず。
- 遅延している部分はWindowsクライアントのIPC$管理共有へのアクセスなので、Remote IPCを無効化するためにserverサービスを無効化したが改善せず。
- sambaのタイムアウト系の設定を調整したが改善せず。
本日はここまでで時間切れです。
最後に
残念ながら、原因の究明、改善までたどり着くことはできませんでした。EFSはWindows非対応となっているため、FSx for Windowsをご利用いただくことがおすすめです。